import vue from 'vue'
import Vuex from 'vuex'
import router,{resetRouter} from "../router";

vue.use(Vuex)

function addNewRoute(menuList) {
    console.log(menuList)

    let routes = router.options.routes;
    console.log(routes)

    routes.forEach(routeItem=>{
        if(routeItem.path=="/Index"){
            menuList.forEach(menu=>{
                let childRoute =  {
                    path:menu.menuClickPath,
                    name:menu.menuName,
                    meta:{
                        title:menu.menuName
                    },
                    component:()=>import('../components/'+ menu.menuComponent)
                }

                routeItem.children.push(childRoute);
            })
        }
    })

    resetRouter();
    router.addRoutes(routes)
}

export default new Vuex.Store({
    state: {
        menus: []
    },
    mutations: {
        setMenu(state,menuList) {
            state.menus = menuList

            addNewRoute(menuList)
        }
    },
    getters: {
        getMenu(state) {
            return state.menus
        }
    }
})